<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/iTaskService.Models" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/iTaskService.Models" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:62972/TaskService.svc?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/System.Web" />
  <xs:complexType name="Account">
    <xs:sequence>
      <xs:element minOccurs="0" name="AccountID" type="xs:int" />
      <xs:element minOccurs="0" name="Categories" nillable="true" type="tns:ArrayOfCategory" />
      <xs:element minOccurs="0" name="DefaultCategory" nillable="true" type="tns:Category" />
      <xs:element minOccurs="0" name="DefaultProject" nillable="true" type="tns:Project" />
      <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/System.Web" minOccurs="0" name="DefaultProjectStatus" type="q1:ProcessStatus" />
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Password" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Projects" nillable="true" type="tns:ArrayOfProject" />
      <xs:element minOccurs="0" name="ReminderPeriod" type="xs:int" />
      <xs:element minOccurs="0" name="ShowCompleteTasks" type="xs:boolean" />
      <xs:element minOccurs="0" name="ShowOverdueTask" type="xs:boolean" />
      <xs:element minOccurs="0" name="TimeToDelete" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Account" nillable="true" type="tns:Account" />
  <xs:complexType name="ArrayOfCategory">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Category" nillable="true" type="tns:Category" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCategory" nillable="true" type="tns:ArrayOfCategory" />
  <xs:complexType name="Category">
    <xs:sequence>
      <xs:element minOccurs="0" name="Category_ID" type="xs:int" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Icon" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Owner" nillable="true" type="tns:Account" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Category" nillable="true" type="tns:Category" />
  <xs:complexType name="Project">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="EndTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Owner" nillable="true" type="tns:Account" />
      <xs:element minOccurs="0" name="ProjectID" type="xs:int" />
      <xs:element minOccurs="0" name="StartTime" type="xs:dateTime" />
      <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/System.Web" minOccurs="0" name="Status" type="q2:ProcessStatus" />
      <xs:element minOccurs="0" name="Tasks" nillable="true" type="tns:ArrayOfTask" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Project" nillable="true" type="tns:Project" />
  <xs:complexType name="ArrayOfTask">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Task" nillable="true" type="tns:Task" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTask" nillable="true" type="tns:ArrayOfTask" />
  <xs:complexType name="Task">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="EndTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="IsReminded" type="xs:boolean" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="OccurType" type="tns:TaskOccurType" />
      <xs:element minOccurs="0" name="Owner" nillable="true" type="tns:Account" />
      <xs:element minOccurs="0" name="Picture" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Priority" type="tns:TaskPriority" />
      <xs:element minOccurs="0" name="ReminderTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="StartTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Status" type="tns:TaskStatus" />
      <xs:element minOccurs="0" name="TaskCategory" nillable="true" type="tns:Category" />
      <xs:element minOccurs="0" name="TaskProject" nillable="true" type="tns:Project" />
      <xs:element minOccurs="0" name="Task_ID" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Task" nillable="true" type="tns:Task" />
  <xs:simpleType name="TaskOccurType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Once" />
      <xs:enumeration value="Daily" />
      <xs:enumeration value="Weekly" />
      <xs:enumeration value="Monthly" />
      <xs:enumeration value="Yearly" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="TaskOccurType" nillable="true" type="tns:TaskOccurType" />
  <xs:simpleType name="TaskPriority">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Normal" />
      <xs:enumeration value="Low" />
      <xs:enumeration value="High" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="TaskPriority" nillable="true" type="tns:TaskPriority" />
  <xs:simpleType name="TaskStatus">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Active" />
      <xs:enumeration value="Completed" />
      <xs:enumeration value="Missed" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="TaskStatus" nillable="true" type="tns:TaskStatus" />
  <xs:complexType name="ArrayOfProject">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Project" nillable="true" type="tns:Project" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProject" nillable="true" type="tns:ArrayOfProject" />
</xs:schema>